The Serpent Lord's News
PlanetQuake ad banner: Click for more information!
-=[ Saturday, June 12, 1999 ]=-

I have reformatted the Squawk Role-Playing Game pages so they should now look right with Netscape Communicator. I added some new sketches too.

The SkinED website has moved to http://grad.qeradiant.com/skined


-=[ Monday, June 7, 1999 ]=-

I have made the backgrounds transparent for many of the sketches on the Squawk Role-Playing-Game pages. There is now at least one illustration of each anthrosaur race, like this "kobold".

Obscure comment of the day: "It jacked my linear duplicator!"


-=[ Saturday, June 5, 1999 ]=-

I added a lot of new sketches to the Squawk Role-Playing Game pages.


-=[ Friday, June 4, 1999 ]=-

I have updated my guide to using Crystal Space to use the latest released beta version of Crystal Space. There are also two new screenshots of a tree converted from 3DS format at the Crystal Space website. The Crystal Space mailing list is still down, but it should be back up in a few days. Until then, the CrystalClear mailing list can be used for general Crystal Space discussion and a www messageboard has also been set up.


-=[ Thursday, June 3, 1999 ]=-

Here's a reply I posted on The Serpent Lord's Discussion Forum:

:and for the info_null question i was asking rotating when you're making
:stairs or something e.g. your tutorials. i want to make the info_null stay
:and and rotait the object. e.g. rotaiting a 26 sided cylinder around to
:make a torus. hope you can help. thanks!

QuArK 5.9 is an awesome editor, but it is missing three very important
features that existed in QuArK 4.07:

1. A model editor
2. The ability to define new entity classes without hand-editing .qrk files
3. The ability to rotate objects around a user-defined pivot

The only way I have found to work around the third problem is to create a
very large brush that completely surrounds the objects you want to rotate
and centered around the point you want to rotate around (instead of an
info_null.)  Then select the things you want to rotate and the large brush,
and all rotations should be centered around that large brush.
-=[ Wednesday, June 2, 1999 ]=-


Episode IX

A long time ago on a server
far, far away...  The Crystal Space
mailing list has been offline for a week now,
so I'l post some of my ideas and discoveries here.
First, here is the last e-mail I tried to send to the list :

INVALID OPCODE:

On Tue, 25 May 1999, Jorrit Tyberghein wrote:

> > The "invalid opcode" caused by blocks, sprites, and curved surfaces
> > does not seem to affect my regular pentium (166 Mhz, no MMX) perhaps
> > because the bug is in the MMX code and does not effect CPUs w/o MMX?
> > (This bug, like the others I reported, is not in bugs.txt)
> 
> I have a Pentium II which also contains an MMX but I have never seen
> problems like that.

That should narrow down the possibilities.  Here are more specs: 400 Mhz
Pentium II CPU, Nvidia Riva 128 graphics card, Win98 OS, (running DJGPP
optimize build of CS in 8 bit color)


CONVERSION:

Bruce Williams wrote:

> I am taking the tack of converting what the format has into the most
> logical CS object. This is a TBD issue as we go along.

If I create a tree object from triangles, I may want it to be a dynamic
object like a sprite, or a static object with lightmap like a thing.
Sometimes it's hard to decide from the format alone.

> > If you try to design the game around massive "worlds" containing rooms,
> > things, sprites, and everything else in a single package, you can't
> > develop content incrementally.
> 
> why?

The key phrase is "in a single package"  It's tedious to convert content
and copy it into a text file then an archive. (like using mdl2spr, a text
editor, and some zip/unzip utils.)

> Just to be real clear: You edit your .3ds file using MAX or
> whatever and CS just loads the changed model into your game
> because it is on the list and modified. You do -nothing- .

I think this is great.

> Every game I have worked on there was always a LOT of 'loading
> the new art', you couldn't go to the bathroom without someone
> asking "could I see how this looks in the game today?" 

Exactly my experience on my last job.

> I would REALLY like to get a Quake converter added to the package. The
> one we have is derived from some code I have also found elsewhere.
> Seth, I bet you could point me to some GREAT doc. ( the file format
> page you refered to I passed on to friend and he raved ) I also found
> the code I refered to above there and some others, but no good Quake
> stuff.

Full source of id's Quake utilities:
ftp://ftp.cdrom.com/pub/idgames2/idstuff/source/qutils.zip

The Unofficial Quake Specs:
http://www.s2.org/s2/qkspecs/index.htm

Full source of id's game*.dll and Quake2 utilities:
ftp://ftp.cdrom.com/pub/idgames2/quake2/official/source/

Quake Army Knife, open-source editor for all Quake engine games
(Win32/Delphi, but it can read .map, .bsp, .mdl and .md2 formats)
http://www.planetquake.com/quark/

> > For example we could convert skinless, boneless triangle meshes in
> > .dxf format into animation frames for a characters.  We could convert
> > A quake map into a region of a larger Crystal Space map, or just take
> > a small part of the Quake map to use as a Thing.  We could import a
> > grayscale image as a huge terrain map (or a small terrain map), etc.
>
> Care to send me something and what you think I should get out of it?

* I assume we don't want to worry about the terrain stuff yet.
* I have made some examples of Quake maps as "optimized" for CS as I
  could manage: http://www.fileplanet.com/dl/dl.asp?simitar/somemaps.zip
* I created a collection of simple .mdl files which might be useful:
  http://www.fileplanet.com/dl/dl.asp?simitar/geometry.zip
* Today I put together an example of a .mdl format cube, and more
  precise exported frames (including one that represents a "skin map")
  http://www.fileplanet.com/dl/dl.asp?simitar/csbox.zip
  (Also included is the same cube in .bsp format)

When I put this cube together today I learned some new things about Quake
skin editing, and also was reminded of something important.  Crystal Space
needs Gourad and Phong shading techniques used on both lightmapped and
vertex lit polygons.  And to make this work we need a way to specify which
vertices should be linked together for vertex normal calculations.  This
must be seperate from other types of vertex linkings (like shared skin,
animation, and edge-collapse vertices.)

Imagine a globe made of triangles.  To be skinned it must have a hole in
it somewhere.  Wherever that hole is the vertices need to be linked for
normal calculations but not linked on the skin.  If the vertices are not
linked for normal calculation the globe will appear to have a sharp point
or a flat spot.  This may sound like a minor point but in most places
where Gourad and Phong shading will be used, there will be huge seams
instead of a small hole.


LIGHTING:

On Mon, 24 May 1999, Bruce Williams wrote:

> Just a note of reality:
> 
> 5.1 My map takes several hours to VIS or QRAD. Is this a problem?
> 
> Maybe. VIS for Quake and QRAD3 for Quake2 take the longest of any of
> the compiling programs. It's not uncommon for a Quake map to VIS for
> 12 hours or longer and QRAD times are what keep people with low-end
> machines out of Quake2 editing. The only things you can do to help
> this are to make sure your brush count is as low as possible and avoid
> large open areas with lots of detail architecture in your maps. Also,
> when compiling, make sure you don't have lots of other programs
> running at the same time. Programs like Netscape and MIRC use up
> system resources that the compiling utilities could have used.

Yeah, I run a small message board where Quake2 editing is a common topic,
and It's difficult to explain to people that Quake editing is more fun
than Quake 2 editing just because it's so much faster to build maps!

There isn't really a "right" and "wrong" way to do lighting in a game.  I
have been thinking about how I would do lighting in a role-playing game
that is set mostly outdoors, but with some indoor areas.

(This is not a suggestion, argument or endorsement of any kind, although
comments are welcome.)

There are basically three kinds of light sources in this scenario:

* Dynamic - firelight
* Ambient - starlight, scattered sunlight
* Sun - infinitely distant direct light source

Dynamic lights in my setting will probably not be very common (probably no
halls lined with candles) so they could use something like the current
dynamic lighting system.   It would be nice if these lights had more
realistic attenuation and cast shadows (but that could be very slow)

Ambient lighting is fairly simple - it should come from the sky in all
directions - perhaps based on a lightmap which records how much sky is
visible to each lumel?  it might also be possible to do an extra pass
that looks for light reflected from surfaces.

An open feild will have high ambient lighting, the inside of a cave will
have less ambient lighting.  The ambient light can be scaled up in the day
- especially on overcast days - and scaled down at night - especially on
overcast nights.

Sunlight will be tricky.  It will probably need to cast shadows and move.
But since it moves so slowly we may be able to calculate shadow geometry
at intervals of several minutes and tween them. The simplest thing about
sunlight is attenuation - there is none.


STABILITY:

On Tue, 25 May 1999, McClusky, Jesse wrote:

> For beta stability:  Compiles and runs on the core platforms,
> for the core drivers.  Win32 and Linux, period.  Try for the
> others, but don't let an obscure port delay an otherwise
> stable release.

Remember that a beta is for testing, not for winning a popularity contest
by supporting the biggest consumer platforms.  Consider the Q3test
releases.  The smallest group of testers is often the most helpful.

> For final major release stability:  Beta stability + nearly
> all platforms + no crashing, period.  Course, we haven't had
> a final major release of CS yet.  (:

Hmm...  Here's an idea:  When any version is released ("beta" or "major"
or "official" or other) We create a list of all OS/compilers that it might
work with.  As each OS/compiler is tested we update the list to say
whether that release is broken, working, in dispute or whatever.

Obviously this is not a 100% new idea, so let me emphasize some key points
I am trying to draw attention to:  OS/compiler status is based on testing
including testing after the release, so this list should be placed in a
prominent location (i.e. before the list of things that have changed in
this release) and updated frequently as more testing is done - especially
after the inevitable patches are released.

And here is part of an e-mail I sent to Jorrit just before he left on vacation :

I was playing around with Crystal Space and found some interesting stuff:

(still using CVS code from a few days ago and DOS/DJGPP)

In walktest, clicking the right mouse button causes a General Protection
Fault (after printing some polygon info to debug.txt) and the info says
"LMB down" when I pressed the *right* mouse button :-)

In walktest, I could find options to turn off texturing and lighting, but
is there an option to turn off everything except wireframe drawing?

I created a new app based on tutorial.html.  I had to add this line:
#include "csparser/csloader.h"
to the .cpp file, but other than that the tutorial app runs fine.

I tried making multiple views again (just to stir things up) and found
some bugs.  Multiple views seem to work fine, but there are bugs with
making a view in certain positions:

A view that takes up most of the screen or the left half of the screen is
okay, but when I try to draw a view on the right half of the screen, It
creates TWO views, and the one on the left (which is not supposed to
exist) seems to be a little more zoomed in than the correct view on the
right.

A view that is supposed to take up most of the top half of the screen
appears on the bottom instead.  A view that us supposed to take up most of
the bottom of the screen causes a General Protection Fault.  (I assume
because it is trying to draw below the bottom of the screen)
-=[ Tuesday, June 1, 1999 ]=-

During the last two weeks I have been re-organizing this website and preparing for changes - especially to the Squawk Role-Playing-Game section which is overdue for a massive update. The races section has been changed to have a seperate page for each anthrosaur race and there are new sketches of them which you may want to see if you are not interested in the Squawk RPG.

Some older pages on this site like old news pages still have broken links and images. Most pages related to The Serpent Lord's News, The Free Models Project, and Squawk used to be in the same main directory. Now they have been placed in subdirectories called news, fmp, and squawk respectively.
 

-=[ 1999 - JAN FEB MAR APR MAY JUN JLY AUG SEP OCT NOV DEC ]=-
-=[ 1998 - JAN FEB MAR APR MAY JUN JLY AUG SEP OCT NOV DEC ]=-
-=[ 1997 - JAN FEB MAR APR MAY JUN JLY AUG SEP OCT NOV DEC ]=-

The Serpent Lord's Web Pages